package org.poseidon.report.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.poseidon.common.annotation.Excel;
import org.poseidon.common.core.domain.BaseEntity;

/**
 * 项目对象 bu_project
 * 
 * @author gfc
 * @date 2022-02-23
 */
public class BuProject extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 项目编码 */
    @Excel(name = "项目编码")
    private String projectCode;

    /** 项目名 */
    @Excel(name = "项目名")
    private String projectName;

    /** 项目负责人 */
    @Excel(name = "项目负责人")
    private String projectManager;

    /** 项目内容 */
    @Excel(name = "项目内容")
    private String projectContent;

    /** 项目开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date projectBegin;

    /** 项目结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date projectEnd;

    /** 关联产品ID */
    @Excel(name = "关联业务域ID")
    private Long productId;

    private String productName;

    /** 是否删除 0 未删除 1已删除 */
    @Excel(name = "是否删除 0 未删除 1已删除")
    private Integer deleted;

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setProjectCode(String projectCode) 
    {
        this.projectCode = projectCode;
    }

    public String getProjectCode() 
    {
        return projectCode;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }
    public void setProjectManager(String projectManager) 
    {
        this.projectManager = projectManager;
    }

    public String getProjectManager() 
    {
        return projectManager;
    }
    public void setProjectContent(String projectContent) 
    {
        this.projectContent = projectContent;
    }

    public String getProjectContent() 
    {
        return projectContent;
    }
    public void setProjectBegin(Date projectBegin) 
    {
        this.projectBegin = projectBegin;
    }

    public Date getProjectBegin() 
    {
        return projectBegin;
    }
    public void setProjectEnd(Date projectEnd) 
    {
        this.projectEnd = projectEnd;
    }

    public Date getProjectEnd() 
    {
        return projectEnd;
    }
    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }
    public void setDeleted(Integer deleted) 
    {
        this.deleted = deleted;
    }

    public Integer getDeleted() 
    {
        return deleted;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectCode", getProjectCode())
            .append("projectName", getProjectName())
            .append("projectManager", getProjectManager())
            .append("projectContent", getProjectContent())
            .append("projectBegin", getProjectBegin())
            .append("projectEnd", getProjectEnd())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .append("productId", getProductId())
            .append("deleted", getDeleted())
            .toString();
    }
}
